package com.yungu.swift.base.model.admin;

import io.swagger.annotations.ApiModelProperty;

import java.util.Date;
import java.util.Optional;

/**
 * @author : cuixiuyin
 * @date : 2019/9/3
 */
public class AdminReportParam extends AdminParam {

    @ApiModelProperty(value = "当前页数")
    private Integer pageNum;

    @ApiModelProperty(value = "每页数据量")
    private Integer pageSize;

    @ApiModelProperty(value = "排序字段（格式类似于‘age.asc,gender.desc’）")
    private String orderBySort;

    @ApiModelProperty(value = "所属代理")
    private String agentId;

    @ApiModelProperty(value = "所属公司")
    private String companyId;

    @ApiModelProperty(value = "业务类型 0.全部业务;1.出租车;2.专车;3.快车;4.跨城拼车", example = "0")
    private Integer typeModule;

    @ApiModelProperty(value = "统计状态类型:0.全部状态;1.已完成;2.已支付;3.派单成功;4.派单失败;5.派单成功后取消", example = "0")
    private Integer typeReport;

    @ApiModelProperty(value = "开始日期")
    private Date startTime;

    @ApiModelProperty(value = "截止日期")
    private Date endTime;

    public Integer getPageNum() {
        return Optional.ofNullable(pageNum).orElse(1);
    }

    public void setPageNum(Integer pageNum) {
        this.pageNum = pageNum;
    }

    public Integer getPageSize() {
        return Optional.ofNullable(pageSize).orElse(10);
    }

    public void setPageSize(Integer pageSize) {
        this.pageSize = pageSize;
    }

    public String getOrderBySort() {
        return orderBySort;
    }

    public void setOrderBySort(String orderBySort) {
        this.orderBySort = orderBySort;
    }

    public String getAgentId() {
        return agentId;
    }

    public void setAgentId(String agentId) {
        this.agentId = agentId;
    }

    public String getCompanyId() {
        return companyId;
    }

    public void setCompanyId(String companyId) {
        this.companyId = companyId;
    }

    public Integer getTypeModule() {
        return typeModule;
    }

    public void setTypeModule(Integer typeModule) {
        this.typeModule = typeModule;
    }

    public Integer getTypeReport() {
        return typeReport;
    }

    public void setTypeReport(Integer typeReport) {
        this.typeReport = typeReport;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }
}
